package com.jdd.modules.parkmonthly.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jdd.common.util.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @Description: 权限组表
 * @Author: jdd
 * @Date: 2021-11-09
 * @Version: V1.0
 */
@Data
@TableName("permission_group")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "permission_group对象", description = "权限组表")
public class PermissionGroupTreeModel implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 对应SysDepart中的id字段,前端数据树中的key
     */
    private String key;
    /**
     * 对应SysDepart中的id字段,前端数据树中的value
     */
    private String value;
    /**
     * 对应depart_name字段,前端数据树中的title
     */
    private String title;
    /**
     * 孩子节点
     */
    private List<PermissionGroupTreeModel> children = new ArrayList<>();
    /**
     * 主键
     */
    @TableId(type = IdType.UUID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * 停车场编号
     */
    @Excel(name = "停车场编号", width = 15)
    @ApiModelProperty(value = "停车场编号")
    private String parkCode;
    /**
     * 停车场名称
     */
    @Excel(name = "停车场名称", width = 15)
    @ApiModelProperty(value = "停车场名称")
    private String parkName;
    /**
     * 权限组名称
     */
    @Excel(name = "权限组名称", width = 15)
    @ApiModelProperty(value = "权限组名称")
    private String permissionName;
    /**
     * 创建人id
     */
    @Excel(name = "创建人id", width = 15)
    @ApiModelProperty(value = "创建人id")
    private String createUserId;
    /**
     * 创建人名称
     */
    @Excel(name = "创建人名称", width = 15)
    @ApiModelProperty(value = "创建人名称")
    private String createUserName;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 修改人id
     */
    @Excel(name = "修改人id", width = 15)
    @ApiModelProperty(value = "修改人id")
    private String updateUserId;
    /**
     * 修改人名称
     */
    @Excel(name = "修改人名称", width = 15)
    @ApiModelProperty(value = "修改人名称")
    private String updateUserName;
    /**
     * 修改时间
     */
    @Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    /**
     * 启用状态 （1、启用 2、禁用）
     */
    @Excel(name = "启用状态 （1、启用 2、禁用）", width = 15)
    @ApiModelProperty(value = "启用状态 （1、启用 2、禁用）")
    private Integer status;
}
